package com.awakening.o2o.service;

import com.awakening.o2o.dto.ProductCategoryExecution;
import com.awakening.o2o.entity.ProductCategory;
import com.awakening.o2o.exception.ProductCategoryOperationException;

import java.util.List;

/**
 * @Author:这个程序员有纹身
 * @Date: Created in 21:46 2018\1\7 0007
 */
public interface ProductCategoryService {
    /**
     * 查询指定某个店铺下的所有商品类别信息
     * @param shopId
     * @return
     */
    List<ProductCategory> getProductCategoryList(long shopId);

    /**
     * 批量添加商品类型
     * @param productCategoryList
     * @return
     * @throws ProductCategoryOperationException
     */
    ProductCategoryExecution batchAddProductCategory(List<ProductCategory> productCategoryList)
        throws ProductCategoryOperationException;

    /**
     * 将此类别下的商品里的类别id置空，在删除掉该商品类别
     * @param productCategoryId
     * @param shopId
     * @return
     * @throws ProductCategoryOperationException
     */
    ProductCategoryExecution deleteProductCategory(long productCategoryId, long shopId)
        throws ProductCategoryOperationException;
}
